์น ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก, ๋๊ตฌ, ๋ฐฉ๋ฒ๋ก ์ ๋ค๋ฃจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ ๋ฐ ๋ฒค์น๋งํฌ ์ค์ํธ ๊ฐ๋ฐ ์ข ํฉ ๊ฐ์ด๋์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ: ๋ฒค์น๋งํฌ ์ค์ํธ ๊ฐ๋ฐ
์ค๋๋ ๋น ๋ฅด๊ฒ ๋ณํํ๋ ๋์งํธ ์ธ์์์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ฌ์ฉ์๋ค์ ๋ฐ์์ด ๋น ๋ฅด๊ณ ๋งค๋ ฅ์ ์ธ ๊ฒฝํ์ ๊ธฐ๋ํ๋ฉฐ, ๋ก๋ฉ์ด ๋๋ฆฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข์ ๊ฐ, ์ดํ, ๊ทธ๋ฆฌ๊ณ ๊ถ๊ทน์ ์ผ๋ก ๋น์ฆ๋์ค ๊ฒฐ๊ณผ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ง๋ฐฐ์ ์ธ ์ธ์ด์ด๋ฉฐ Node.js๋ฅผ ํตํด ๋ฐฑ์๋ ๊ฐ๋ฐ์์๋ ์ค์์ฑ์ด ์ปค์ง๊ณ ์์ด, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ , ์ฝ๋๋ฅผ ์ต์ ํํ๋ฉฐ, ์ํํ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํด์๋ ์๊ฒฉํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ๊ฐ ํ์์ ์ ๋๋ค.
์ด ์ข ํฉ ๊ฐ์ด๋์์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ์ ๋ฒค์น๋งํฌ ์ค์ํธ ๊ฐ๋ฐ์ ์ธ๊ณ๋ฅผ ์ฌ๋ ์๊ฒ ๋ค๋ฃน๋๋ค. ์ฐ๋ฆฌ๋ ํจ๊ณผ์ ์ธ ๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ ๊ตฌ์ถํ๊ณ , ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ๋ถ์ํ๋ฉฐ, ๊ถ๊ทน์ ์ผ๋ก ์ต์ ์ ์ฑ๋ฅ์ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ต์ ํํ๋ ๋ฐ ๋์์ด ๋๋ ๋ค์ํ ํ๋ ์์ํฌ, ๋ฐฉ๋ฒ๋ก ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ดํด๋ณผ ๊ฒ์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฑ๋ฅ ํ ์คํธ๊ฐ ์ค์ํ ์ด์
์ฑ๋ฅ ํ ์คํธ๋ ๋จ์ํ ์ฝ๋๊ฐ ์ผ๋ง๋ ๋นจ๋ฆฌ ์คํ๋๋์ง๋ฅผ ์ธก์ ํ๋ ๊ฒ์ด ์๋๋๋ค. ์ด๋ ์ฝ๋๊ฐ ๋ค์ํ ์กฐ๊ฑด์์ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํดํ๊ณ , ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ ์ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ๊ฒ์ ๊ดํ ๊ฒ์ ๋๋ค. ์ฑ๋ฅ ํ ์คํธ๊ฐ ์ค์ํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํฅ์๋ ์ฌ์ฉ์ ๊ฒฝํ: ๋ ๋น ๋ฅธ ๋ก๋ฉ ์๊ฐ๊ณผ ๋ถ๋๋ฌ์ด ์ํธ์์ฉ์ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ผ๋ก ์ด์ด์ ธ ์ฌ์ฉ์ ๋ง์กฑ๋์ ์ฐธ์ฌ๋๋ฅผ ๋์ ๋๋ค.
- ์ ํ์จ ํฅ์: ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ํ์ด์ง ๋ก๋ฉ ์๊ฐ๊ณผ ์ ํ์จ ์ฌ์ด์๋ ์ง์ ์ ์ธ ์๊ด๊ด๊ณ๊ฐ ์์ต๋๋ค. ๋ ๋น ๋ฅธ ์น์ฌ์ดํธ๋ ๋ ๋ง์ ๋งค์ถ๊ณผ ์์ต์ผ๋ก ์ด์ด์ง๋๋ค.
- ์ธํ๋ผ ๋น์ฉ ์ ๊ฐ: ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ต์ ํํ๋ฉด ์๋ฒ ๋ถํ๋ฅผ ์ค์ฌ ์ธํ๋ผ ๋น์ฉ์ ๋ฎ์ถ๊ณ ํ์ฅ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์กฐ๊ธฐ ๋ฐ๊ฒฌ: ์ฑ๋ฅ ํ ์คํธ๋ ๊ฐ๋ฐ ์ฃผ๊ธฐ ์ด๊ธฐ์ ์ฝ๋์ ์ ์ฌ์ ์ธ ๋ณ๋ชฉ ํ์์ ์๋ณํ์ฌ ์ฃผ์ ๋ฌธ์ ๊ฐ ๋๊ธฐ ์ ์ ํด๊ฒฐํ ์ ์๋๋ก ๋์์ค๋๋ค.
- ํ์ฅ์ฑ ๋ณด์ฅ: ์ฑ๋ฅ ํ ์คํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฑ๋ฅ ์ ํ ์์ด ์ฆ๊ฐํ๋ ํธ๋ํฝ๊ณผ ๋ฐ์ดํฐ ์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ๋ฉํธ๋ฆญ ์ดํดํ๊ธฐ
๋ฒค์น๋งํฌ ์ค์ํธ ๊ฐ๋ฐ์ ๋ฐ์ด๋ค๊ธฐ ์ ์, ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํ ํต์ฌ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ฌํ ๋ฉํธ๋ฆญ์ ์ฑ๋ฅ์ ๋ค์ํ ์ธก๋ฉด์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๊ณ ์ต์ ํํ ์์ญ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
ํต์ฌ ์ฑ๋ฅ ๋ฉํธ๋ฆญ:
- ์ต์ด ๋ฐ์ดํธ๊น์ง์ ์๊ฐ(TTFB): ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ์ ์ฒซ ๋ฐ์ดํธ๋ฅผ ์์ ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. TTFB๊ฐ ๋ฎ์์๋ก ์๋ฒ ์๋ต ์๊ฐ์ด ๋น ๋ฅด๋ค๋ ๊ฒ์ ๋ํ๋ ๋๋ค.
- ์ต์ด ์ฝํ ์ธ ํ ํ์ธํธ(FCP): ๋ธ๋ผ์ฐ์ ๊ฐ DOM์์ ์ฒซ ๋ฒ์งธ ์ฝํ ์ธ ์กฐ๊ฐ์ ๋ ๋๋งํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ํ์ด์ง๊ฐ ๋ก๋ฉ๋๊ณ ์๋ค๋ ์ด๊ธฐ ์๊ฐ์ ์ ํธ๋ฅผ ์ค๋๋ค.
- ์ต๋ ์ฝํ ์ธ ํ ํ์ธํธ(LCP): ๋ธ๋ผ์ฐ์ ๊ฐ ํ์ด์ง์์ ๊ฐ์ฅ ํฐ ์ฝํ ์ธ ์์๋ฅผ ๋ ๋๋งํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. ์ด ๋ฉํธ๋ฆญ์ ์ฒด๊ฐ ๋ก๋ฉ ์๋์ ์ข์ ์งํ์ ๋๋ค.
- ์ต์ด ์ ๋ ฅ ์ง์ฐ(FID): ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ์ฉ์์ ์ฒซ ๋ฒ์งธ ์ํธ์์ฉ(์: ๋ฒํผ ํด๋ฆญ ๋๋ ์์ ํ๋ ์ ๋ ฅ)์ ์๋ตํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. FID๊ฐ ๋ฎ์์๋ก ๋ฐ์์ฑ์ด ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ํ๋ ๋๋ค.
- ๋์ ๋ ์ด์์ ์ด๋(CLS): ํ์ด์ง์ ์๊ฐ์ ์์ ์ฑ์ ์ธก์ ํฉ๋๋ค. CLS๊ฐ ๋ฎ์์๋ก ๋ ์์ ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ํ๋ ๋๋ค.
- ์ด ์ฐจ๋จ ์๊ฐ(TBT): ๊ธด ์์ ์ผ๋ก ์ธํด ๋ฉ์ธ ์ค๋ ๋๊ฐ ์ฐจ๋จ๋์ด ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ์ฉ์ ์ ๋ ฅ์ ์๋ตํ์ง ๋ชปํ๋ ์ด ์๊ฐ์ ์ธก์ ํฉ๋๋ค.
- ์ด๋น ํ๋ ์ ์(FPS): ์ ๋๋ฉ์ด์ ๊ณผ ์ ํ์ ๋ถ๋๋ฌ์์ ์ธก์ ํ๋ ์ฒ๋์ ๋๋ค. FPS๊ฐ ๋์์๋ก ๋ ๋ถ๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ๋ํ๋ ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋: ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ ๋๋ค. ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฑ๋ฅ ๋ฌธ์ ์ ์ถฉ๋๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
- CPU ์ฌ์ฉ๋: ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ๋ CPU ๋ฆฌ์์ค์ ๋ฐฑ๋ถ์จ์ ๋๋ค. ๋์ CPU ์ฌ์ฉ๋์ ์ฑ๋ฅ๊ณผ ๋ฐฐํฐ๋ฆฌ ์๋ช ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ: ์ข ํฉ ๊ฐ์
๋ช ๊ฐ์ง ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ๊ฐ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ํ๋ ์์ํฌ๋ฅผ ์ ํํ๋ ๊ฒ์ ํน์ ์๊ตฌ์ฌํญ๊ณผ ํ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ธ๊ธฐ ์๋ ์ต์ ์ ๋ํ ๊ฐ์์ ๋๋ค:
Benchmark.js
Benchmark.js๋ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ๋์ ํ๊ฐ๋ฅผ ๋ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒค์น๋งํน ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์กฐ๊ฐ์ ์คํ ์๊ฐ์ ์ธก์ ํ๋ ๊ฐ๋จํ๊ณ ์ ๋ขฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ํํ ๋ฒค์น๋งํน: ํต๊ณ์ ์ผ๋ก ์ ์๋ฏธํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ ํํ๊ณ ์ ๋ขฐํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํฉ๋๋ค.
- ๋ค์ํ ํ๊ฒฝ ์ง์: ๋ธ๋ผ์ฐ์ , Node.js, ์น ์์ปค ๋ฑ ๋ค์ํ ํ๊ฒฝ์์์ ๋ฒค์น๋งํน์ ์ง์ํฉ๋๋ค.
- ๊ด๋ฒ์ํ ๋ฆฌํฌํ : ํ๊ท , ํ์ค ํธ์ฐจ, ์ค์ฐจ ๋ฒ์์ ๊ฐ์ ํต๊ณ๊ฐ ํฌํจ๋ ์์ธํ ๋ณด๊ณ ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ ์ฉ์ด์ฑ: ๋ฒค์น๋งํฌ๋ฅผ ์์ฑํ๊ณ ์คํํ๊ธฐ ์ํ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
์์ :
// Example using Benchmark.js
var Benchmark = require('benchmark');
var suite = new Benchmark.Suite;
// add tests
suite.add('String#concat', function() {
'hello' + ' world';
})
.add('Array#join', function() {
['hello', ' world'].join('');
})
// add listeners
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
})
// run async
.run({ 'async': true });
Jasmine
Jasmine์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ ์คํธํ๊ธฐ ์ํ ํ๋ ์ฃผ๋ ๊ฐ๋ฐ(BDD) ํ๋ ์์ํฌ์ ๋๋ค. ์ฃผ๋ก ๋จ์ ํ ์คํธ์ ์ฌ์ฉ๋์ง๋ง, ํน์ ํจ์๋ ์ฝ๋ ๋ธ๋ก์ ์คํ ์๊ฐ์ ์ธก์ ํ์ฌ ์ฑ๋ฅ ํ ์คํธ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- BDD ๊ตฌ๋ฌธ: ํ ์คํธ๋ฅผ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ BDD ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
- Matcher: ์์ ๊ฒฐ๊ณผ๋ฅผ ๋จ์ธํ๊ธฐ ์ํ ํ๋ถํ Matcher ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Spy: ํจ์ ํธ์ถ์ ๊ฐ์ํ๊ณ ์คํ์ ์ถ์ ํ ์ ์์ต๋๋ค.
- ๋น๋๊ธฐ ํ ์คํธ: done ์ฝ๋ฐฑ์ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ํ ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
์์ :
// Example using Jasmine
describe('String concatenation performance', function() {
it('should be faster with + operator', function(done) {
var startTime = performance.now();
for (let i = 0; i < 100000; i++) {
'hello' + ' world';
}
var endTime = performance.now();
var plusTime = endTime - startTime;
startTime = performance.now();
for (let i = 0; i < 100000; i++) {
['hello', ' world'].join('');
}
endTime = performance.now();
var joinTime = endTime - startTime;
expect(plusTime).toBeLessThan(joinTime);
done();
});
});
Mocha
Mocha๋ BDD์ TDD(ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ) ์คํ์ผ์ ๋ชจ๋ ์ง์ํ๋ ๋ ๋ค๋ฅธ ์ธ๊ธฐ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ ์คํธ ํ๋ ์์ํฌ์ ๋๋ค. Jasmine๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, Mocha๋ ์ฝ๋ ๋ธ๋ก์ ์คํ ์๊ฐ์ ์ธก์ ํ์ฌ ์ฑ๋ฅ ํ ์คํธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ์ฐ์ฑ: ๋ค์ํ ๋จ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฆฌํฌํฐ๋ฅผ ์ง์ํฉ๋๋ค.
- ๋น๋๊ธฐ ํ ์คํธ: done ์ฝ๋ฐฑ ๋๋ Promise๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํ ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
- ๋ฏธ๋ค์จ์ด ์ง์: ํ ์คํธ ๋์์ ์์ ํ๊ธฐ ์ํด ๋ฏธ๋ค์จ์ด๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ๊ด๋ฒ์ํ ํ๋ฌ๊ทธ์ธ ์ํ๊ณ: Mocha์ ๊ธฐ๋ฅ์ ํ์ฅํ๊ธฐ ์ํ ํ๋ถํ ํ๋ฌ๊ทธ์ธ ์ํ๊ณ๋ฅผ ๊ฐ์ถ๊ณ ์์ต๋๋ค.
์์ :
// Example using Mocha
describe('String concatenation performance', function() {
it('should be faster with + operator', function(done) {
var startTime = performance.now();
for (let i = 0; i < 100000; i++) {
'hello' + ' world';
}
var endTime = performance.now();
var plusTime = endTime - startTime;
startTime = performance.now();
for (let i = 0; i < 100000; i++) {
['hello', ' world'].join('');
}
endTime = performance.now();
var joinTime = endTime - startTime;
expect(plusTime).to.be.lessThan(joinTime);
done();
});
});
WebdriverIO
WebdriverIO๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ๋ฅผ ์ํ ๊ฐ๋ ฅํ ์๋ํ ํ๋ ์์ํฌ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ์ดํ๊ณ ์ฌ์ฉ์ ์ํธ์์ฉ์ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ด ์๋ํฌ์๋ ์ฑ๋ฅ ํ ์คํธ์ ์ ํฉํฉ๋๋ค. ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ: Chrome, Firefox, Safari, Edge ๋ฑ ๋ค์ํ ๋ธ๋ผ์ฐ์ ์์์ ํ ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
- ๋ชจ๋ฐ์ผ ํ ์คํธ: iOS ๋ฐ Android์์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
- ๋น๋๊ธฐ ๋ช ๋ น์ด: ํจ์จ์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ํ ์คํธ๋ฅผ ์ํด ๋น๋๊ธฐ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ํ์ฅ์ฑ: ์ฌ์ฉ์ ์ง์ ๋ช ๋ น์ด์ ํ๋ฌ๊ทธ์ธ์ผ๋ก ๋์ ํ์ฅ์ฑ์ ๊ฐ์ง๋๋ค.
์์ :
// Example using WebdriverIO
describe('Performance test', () => {
it('should load the page within a certain time', async () => {
const startTime = new Date().getTime()
await browser.url('https://www.example.com')
const endTime = new Date().getTime()
const loadTime = endTime - startTime
console.log(`Page load time: ${loadTime}ms`)
expect(loadTime).toBeLessThan(2000) // Expect load time to be less than 2 seconds
})
})
Lighthouse
Lighthouse๋ ์น ํ์ด์ง์ ํ์ง์ ํฅ์์ํค๊ธฐ ์ํ ์คํ ์์ค ์๋ํ ๋๊ตฌ์ ๋๋ค. ์ฑ๋ฅ, ์ ๊ทผ์ฑ, ํ๋ก๊ทธ๋ ์๋ธ ์น ์ฑ, SEO ๋ฑ์ ๋ํ ๊ฐ์ฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. Chrome DevTools, ๋ช ๋ น์ค ๋๋ Node ๋ชจ๋๋ก ์คํํ ์ ์์ต๋๋ค. Lighthouse์ ๊ฐ์ฌํ URL์ ์ ๊ณตํ๋ฉด ํด๋น ํ์ด์ง์ ๋ํด ์ผ๋ จ์ ๊ฐ์ฌ๋ฅผ ์คํํ ๋ค์ ํ์ด์ง๊ฐ ์ผ๋ง๋ ์ ์ํ๋์๋์ง์ ๋ํ ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ๊ธฐ์์ ์คํจํ ๊ฐ์ฌ๋ฅผ ํ์ด์ง ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ํ ์งํ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฐํ ๋งํด ์ฑ๋ฅ ํ ์คํธ *ํ๋ ์์ํฌ*๋ ์๋์ง๋ง, ์น ์ฑ๋ฅ ์ธก์ ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
Lighthouse๋ ๋ค์๊ณผ ๊ฐ์ ์์ญ์ ๋ํ ๊ท์คํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค:
- ์ฑ๋ฅ: ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ ์ต์ ํ๋ฅผ ์ํ ๊ถ์ฅ ์ฌํญ์ ์ ๊ณตํฉ๋๋ค.
- ์ ๊ทผ์ฑ: ์ ๊ทผ์ฑ ๋ฌธ์ ๋ฅผ ํ์ธํ๊ณ ์ ๊ทผ์ฑ ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค.
- ๋ชจ๋ฒ ์ฌ๋ก: ์น ๊ฐ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก ์ค์ ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
- SEO: SEO ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํ์ธํ๊ณ ๊ฐ์ ์ ์ํ ๊ถ์ฅ ์ฌํญ์ ์ ๊ณตํฉ๋๋ค.
- PWA: ํ์ด์ง๊ฐ PWA ์๊ตฌ์ฌํญ์ ์ค์ํ๋์ง ํ์ธํ๊ธฐ ์ํด ๊ฐ์ฌ๋ฅผ ์ํํฉ๋๋ค.
๊ฒฌ๊ณ ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒค์น๋งํฌ ์ค์ํธ ๊ฐ๋ฐํ๊ธฐ
๊ฒฌ๊ณ ํ ๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ ๊ฐ๋ฐํ๋ ค๋ฉด ์ ์คํ ๊ณํ๊ณผ ์คํ์ด ํ์ํฉ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ฃผ์ ๊ณ ๋ ค ์ฌํญ์ ๋๋ค:
1. ๋ช ํํ ๋ชฉํ ์ ์ํ๊ธฐ
์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๋ฒค์น๋งํฌ ์ค์ํธ์ ๋ํ ๋ช ํํ ๋ชฉํ๋ฅผ ์ ์ํ์ญ์์ค. ์ด๋ค ํน์ ์ฑ๋ฅ ์ธก๋ฉด์ ์ธก์ ํ๋ ค๊ณ ํฉ๋๊น? ์ฑ๋ฅ ๋ชฉํ๋ ๋ฌด์์ ๋๊น? ๋ช ํํ ๋ชฉํ๊ฐ ์์ผ๋ฉด ๋ ธ๋ ฅ์ ์ง์คํ๊ณ ๋ฒค์น๋งํฌ ์ค์ํธ๊ฐ ๊ด๋ จ์ฑ ์๊ณ ํจ๊ณผ์ ์ธ์ง ํ์ธํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์์ :
๋ชฉํ: ๋ค์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ ์ธก์ ํ๊ธฐ.
์ฑ๋ฅ ๋ชฉํ: 10,000๊ฐ ์์ ๋ฐฐ์ด์ ๋ํด 100ms ๋ฏธ๋ง์ ์ ๋ ฌ ์๊ฐ ๋ฌ์ฑํ๊ธฐ.
2. ์ฌ๋ฐ๋ฅธ ํ๋ ์์ํฌ ์ ํํ๊ธฐ
์์ ์ ํ์์ ๊ฐ์ฅ ์ ํฉํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ ํํ์ญ์์ค. ์ฌ์ฉ ์ฉ์ด์ฑ, ์ ํ์ฑ, ๋ณด๊ณ ๊ธฐ๋ฅ, ๋ค์ํ ํ๊ฒฝ ์ง์๊ณผ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ญ์์ค. Benchmark.js๋ ํน์ ์ฝ๋ ์กฐ๊ฐ์ ๋ง์ดํฌ๋ก ๋ฒค์น๋งํน์ ์ข์ ์ ํ์ด๋ฉฐ, WebdriverIO๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ํฌ์๋ ์ฑ๋ฅ ํ ์คํธ์ ๋ ์ ํฉํ ์ ์์ต๋๋ค.
3. ํ์ค์ ์ธ ํ ์คํธ ์ผ์ด์ค ์์ฑํ๊ธฐ
์ค์ ์ฌ์ฉ ์๋๋ฆฌ์ค๋ฅผ ์ ํํ๊ฒ ๋ฐ์ํ๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณํ์ญ์์ค. ํ์ค์ ์ธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ๊ณ ์ฌ์ฉ์ ์ํธ์์ฉ์ ์๋ฎฌ๋ ์ด์ ํ์ฌ ๋ฒค์น๋งํฌ๊ฐ ์ค์ ์ฑ๋ฅ์ ๋ํํ๋๋ก ํ์ญ์์ค. ์ค์ ์ฑ๋ฅ์ ์ ํํ๊ฒ ๋ฐ์ํ์ง ์์ ์ ์๋ ์ธ์์ ์ด๊ฑฐ๋ ๋ถ์์ฐ์ค๋ฌ์ด ํ ์คํธ ์ผ์ด์ค ์ฌ์ฉ์ ํผํ์ญ์์ค.
์์ :
๋ฌด์์๋ก ์์ฑ๋ ์ซ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ๋์ , ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฒ๋ฆฌํ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
4. ์ธ๋ถ ์์ธ ํต์ ํ๊ธฐ
๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ์ ๋ํ ์ธ๋ถ ์์ธ์ ์ํฅ์ ์ต์ํํ์ญ์์ค. ๋ถํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ซ๊ณ , ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋นํ์ฑํํ๋ฉฐ, ํ ์คํธ ํ๊ฒฝ์ด ์ผ๊ด๋๋๋ก ํ์ญ์์ค. ๋ฒค์น๋งํฌ๋ฅผ ์ฌ๋ฌ ๋ฒ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ๊ท ํ์ฌ ๋ฌด์์ ๋ณ๋์ ์ํฅ์ ์ค์ด์ญ์์ค.
5. ํต๊ณ ๋ถ์ ์ฌ์ฉํ๊ธฐ
๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ํด์ํ๊ธฐ ์ํด ํต๊ณ ๋ถ์์ ์ฌ์ฉํ์ญ์์ค. ํ๊ท , ํ์ค ํธ์ฐจ, ์ค์ฐจ ๋ฒ์์ ๊ฐ์ ๋ฉํธ๋ฆญ์ ๊ณ์ฐํ์ฌ ๊ฒฐ๊ณผ์ ๋ณ๋์ฑ์ ์ดํดํ์ญ์์ค. ํต๊ณ ํ ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ์ฝ๋ ๊ตฌํ ๊ฐ์ ์ฐจ์ด๊ฐ ํต๊ณ์ ์ผ๋ก ์ ์๋ฏธํ์ง ํ์ธํ์ญ์์ค.
6. ๋ฒค์น๋งํฌ ์๋ํํ๊ธฐ
๋ฒค์น๋งํฌ๊ฐ ์ ๊ธฐ์ ์ด๊ณ ์ผ๊ด๋๊ฒ ์คํ๋๋๋ก ์๋ํํ์ญ์์ค. ๋ฒค์น๋งํฌ๋ฅผ ์ง์์ ํตํฉ(CI) ํ์ดํ๋ผ์ธ์ ํตํฉํ์ฌ ์ฑ๋ฅ ์ ํ๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ์ญ์์ค. ๋ณด๊ณ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ์ฑ๋ฅ ์ถ์ธ๋ฅผ ์ถ์ ํ์ญ์์ค.
7. ๋ฒค์น๋งํฌ ๋ฌธ์ํํ๊ธฐ
๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ ์ฒ ์ ํ ๋ฌธ์ํํ์ญ์์ค. ๋ฒค์น๋งํฌ์ ๋ชฉํ, ์ฌ์ฉ๋ ํ ์คํธ ์ผ์ด์ค, ํ ์คํธ ํ๊ฒฝ, ์ํ๋ ํต๊ณ ๋ถ์์ ์ค๋ช ํ์ญ์์ค. ์ด๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ฒค์น๋งํฌ๋ฅผ ์ดํดํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๊ฒฌ๊ณ ํ ๋ฒค์น๋งํฌ ์ค์ํธ๊ฐ ์ค๋น๋๋ฉด ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ต์ ํํ ์ ์์ต๋๋ค. ๋ค์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ๋ช ๊ฐ์ง ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค:
- DOM ์กฐ์ ์ต์ํ: DOM ์กฐ์์ ๋น์ฉ์ด ๋ง์ด ๋๋ ์์ ์ ๋๋ค. ์ ๋ฐ์ดํธ๋ฅผ ์ผ๊ด ์ฒ๋ฆฌํ๊ณ ๋ฌธ์ ํ๋๊ทธ๋จผํธ์ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ DOM ์กฐ์ ํ์๋ฅผ ์ต์ํํ์ญ์์ค.
- ํจ์จ์ ์ธ ์๋ฃ ๊ตฌ์กฐ ์ฌ์ฉ: ํ์์ ๋ง๋ ์ฌ๋ฐ๋ฅธ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ ํํ์ญ์์ค. ์์ฐจ ๋ฐ์ดํฐ์๋ ๋ฐฐ์ด์, ํค-๊ฐ ์์๋ ๊ฐ์ฒด๋ฅผ, ๊ณ ์ ๊ฐ์๋ ์ธํธ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ๋ฃจํ ์ต์ ํ: ๋ฐ๋ณต ํ์๋ฅผ ์ต์ํํ๊ณ ํจ์จ์ ์ธ ๋ฃจํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฃจํ๋ฅผ ์ต์ ํํ์ญ์์ค. ๋ฃจํ ๋ด์์ ๋ณ์๋ฅผ ์์ฑํ๋ ๊ฒ์ ํผํ๊ณ ์์ฃผ ์ก์ธ์คํ๋ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด ์บ์ฑ์ ์ฌ์ฉํ์ญ์์ค.
- ๋๋ฐ์ด์ค ๋ฐ ์ค๋กํ: ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ์คํ๋๋ ํ์๋ฅผ ์ค์ด๊ธฐ ์ํด ๋๋ฐ์ด์ค ๋ฐ ์ค๋กํ์ ์ฌ์ฉํ์ญ์์ค. ์ด๋ ์คํฌ๋กค ๋ฐ ํฌ๊ธฐ ์กฐ์ ๊ณผ ๊ฐ์ ์ด๋ฒคํธ์ ํนํ ์ค์ํฉ๋๋ค.
- ์น ์์ปค ์ฌ์ฉ: ๊ณ์ฐ ์ง์ฝ์ ์ธ ์์ ์ ๋ฉ์ธ ์ค๋ ๋์์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์น ์์ปค๋ฅผ ์ฌ์ฉํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฉ์ธ ์ค๋ ๋๊ฐ ์ฐจ๋จ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ์ด๋ฏธ์ง ์ต์ ํ: ์ด๋ฏธ์ง๋ฅผ ์์ถํ๊ณ ์ ์ ํ ํ์ผ ํ์์ ์ฌ์ฉํ์ฌ ์ต์ ํํ์ญ์์ค. ์ง์ฐ ๋ก๋ฉ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๊ฐ ํ์ํ ๋๊น์ง ๋ก๋ฉ์ ์ง์ฐ์ํค์ญ์์ค.
- ์์ฐ ์บ์ฑ: ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ, CSS ํ์ผ, ์ด๋ฏธ์ง์ ๊ฐ์ ์ ์ ์์ฐ์ ์บ์ํ์ฌ ์๋ฒ์ ๋ํ ์์ฒญ ํ์๋ฅผ ์ค์ด์ญ์์ค.
- ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ(CDN) ์ฌ์ฉ: CDN์ ์ฌ์ฉํ์ฌ ์ ์ ์์ฐ์ ์ ์ธ๊ณ ์๋ฒ์ ๋ฐฐํฌํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ค์ํ ์ง๋ฆฌ์ ์์น์ ์ฌ์ฉ์์ ๋ํ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ณ ๋ก๋ฉ ์๊ฐ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ์ฝ๋ ํ๋กํ์ผ๋ง: ํ๋กํ์ผ๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋์ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์๋ณํ์ญ์์ค. ํ๋กํ์ผ๋ง ๋๊ตฌ๋ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ์ ํํ ์ฝ๋ ๋ผ์ธ์ ์ฐพ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. Chrome DevTools์ Node.js์ ๋ด์ฅ ํ๋กํ์ผ๋ฌ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
๊ตญ์ ํ(i18n)์ ์ฑ๋ฅ
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋, ๊ตญ์ ํ(i18n)๊ฐ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ค๋ฅธ ์ธ์ด ํ์ผ, ๋ ์ง ๋ฐ ์ซ์ ํ์, ๋ฌธ์ ์ธ์ฝ๋ฉ์ ๋ก๋ํ๊ณ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๋ฒํค๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ค์์ i18n ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ํ์ ๋๋ค:
- ์ธ์ด ํ์ผ ์ง์ฐ ๋ก๋ฉ: ํ์ฌ ์ฌ์ฉ์์ ๋ก์ผ์ผ์ ํ์ํ ์ธ์ด ํ์ผ๋ง ๋ก๋ํ์ญ์์ค. ์ง์ฐ ๋ก๋ฉ์ ์ฌ์ฉํ์ฌ ์ธ์ด ํ์ผ์ด ์ค์ ๋ก ํ์ํ ๋๊น์ง ๋ก๋ฉ์ ์ฐ๊ธฐํ์ญ์์ค.
- ์ง์ญํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ต์ ํ: ์ฑ๋ฅ์ ์ต์ ํ๋ ํจ์จ์ ์ธ ์ง์ญํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ์ธ์ด ํ์ผ์ ์ํ CDN ์ฌ์ฉ: CDN์ ์ฌ์ฉํ์ฌ ์ธ์ด ํ์ผ์ ์ ์ธ๊ณ ์๋ฒ์ ๋ฐฐํฌํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ค์ํ ์ง๋ฆฌ์ ์์น์ ์ฌ์ฉ์์ ๋ํ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ณ ๋ก๋ฉ ์๊ฐ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ์ง์ญํ๋ ๋ฐ์ดํฐ ์บ์ฑ: ์ง์ญํ๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ํ์ฌ ๊ฒ์ํ๊ณ ์ฒ๋ฆฌํด์ผ ํ๋ ํ์๋ฅผ ์ค์ด์ญ์์ค.
์ค์ ์ฌ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ ๋ฐ ์ต์ ํ๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์ด๋ป๊ฒ ํฅ์์ํฌ ์ ์๋์ง์ ๋ํ ๋ช ๊ฐ์ง ์ค์ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
- ์ ์์๊ฑฐ๋ ์น์ฌ์ดํธ: ํ ์ ์์๊ฑฐ๋ ์น์ฌ์ดํธ๋ DOM ์กฐ์์ ์ต์ํํ๊ณ ๋ฃจํ๋ฅผ ์ต์ ํํ๋ฉฐ ์ ์ ์์ฐ์ CDN์ ์ฌ์ฉํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ต์ ํํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ํ์ด์ง ๋ก๋ ์๊ฐ์ด 30% ๋จ์ถ๋๊ณ ์ ํ์จ์ด 15% ์ฆ๊ฐํ์ต๋๋ค.
- ์์ ๋ฏธ๋์ด ํ๋ซํผ: ํ ์์ ๋ฏธ๋์ด ํ๋ซํผ์ ์น ์์ปค๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ ์ง์ฝ์ ์ธ ์์ ์ ๋ฉ์ธ ์ค๋ ๋์์ ๋ถ๋ฆฌํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ต์ ํํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ต์ด ์ ๋ ฅ ์ง์ฐ(FID)์ด 50% ๊ฐ์ํ๊ณ ๋ ๋ถ๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ์ต๋๋ค.
- ๋ด์ค ์น์ฌ์ดํธ: ํ ๋ด์ค ์น์ฌ์ดํธ๋ ์ด๋ฏธ์ง๋ฅผ ์์ถํ๊ณ ์ง์ฐ ๋ก๋ฉ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์ต์ ํํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ํ์ด์ง ํฌ๊ธฐ๊ฐ 40% ๊ฐ์ํ๊ณ ๋ก๋ฉ ์๊ฐ์ด ๋จ์ถ๋์์ต๋๋ค.
๊ฒฐ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ์ฑ๋ฅ ํ ์คํธ์ ์ต์ ํ๋ ๋น ๋ฅด๊ณ ๋ฐ์์ด ์ข์ผ๋ฉฐ ๋งค๋ ฅ์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ํต์ฌ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ์ดํดํ๊ณ , ์ฌ๋ฐ๋ฅธ ์ฑ๋ฅ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ฒฌ๊ณ ํ ๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ ๊ฐ๋ฐํ๊ณ , ์๋ฐ์คํฌ๋ฆฝํธ ์ต์ ํ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด, ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํค๊ณ ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ธ๋ก๋ฒ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋๋ ๊ตญ์ ํ์ ๊ทธ๊ฒ์ด ์ฑ๋ฅ์ ๋ฏธ์น ์ ์ฌ์ ์ํฅ์ ๊ณ ๋ คํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
์ ํ๋ฆฌ์ผ์ด์ ์ด ํญ์ ์ต์์ ์ฑ๋ฅ์ ๋ฐํํ๋๋ก ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ์ต์ ํํ์ญ์์ค. ์ ๊ธฐ์ ์ผ๋ก ๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ ์คํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ถ์ํ๋ฉฐ, ์ฝ๋์ ํ์ํ ์กฐ์ ์ ํ์ญ์์ค. ์ฑ๋ฅ์ ์ฐ์ ์ํจ์ผ๋ก์จ ์ฐ์ํ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ณ ๋น์ฆ๋์ค ๋ชฉํ๋ฅผ ๋ฌ์ฑํ ์ ์์ต๋๋ค.